package com.lanchetech.merchant.service;


import com.lanchetech.bean.request.FreezeAmountReq;
import com.lanchetech.bean.request.PageReq;
import com.lanchetech.bean.response.BasePageResp;
import com.lanchetech.bean.response.BaseResp;
import com.lanchetech.bean.response.ResultData;
import com.lanchetech.bean.vo.FreezeAmountVO;
import com.lanchetech.bean.vo.TenantFundVO;
import com.lanchetech.entity.BalanceFlow;
import com.lanchetech.entity.TenantFlow;
import com.lanchetech.entity.TenantWithdraw;

import java.math.BigDecimal;

public interface FundService {

    ResultData<BasePageResp<TenantWithdraw>> getTenantWithdrawPage(PageReq req);

    BaseResp createTenantWithdraw(TenantWithdraw req);

    ResultData<TenantFundVO> getTenantFundInfo();

    BaseResp topUpCoin(BigDecimal coin);

    ResultData<BasePageResp<TenantFlow>>  getBalanceFlowPage(PageReq req);

    ResultData<BasePageResp<FreezeAmountVO>> getFreezeAmountPage(FreezeAmountReq req);
}